一个单独的SQL命令,有可能会有几十,几百,甚至是几千种方法去完成那条命令,这取决于命令的复杂度和基本数据库模式。查询规划的任务就是从众多选择中选择一种能提供结果且磁盘I/O和CPU开销最小的算法。而where.c文件的主要功能就是生成VDBE编码来执行SQL命令中的WHERE子句,并且进行一定的查询优化处理。它是产生一个依次扫描一个表来查找合适的行。当合适的时候,选择索引并用它来加快查询——也就是查询优化。